SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TDPLAN_LIQU_U01]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : SANTILLANA S.A.            --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---M=dulo               : Empresa                    --*/  
/*---Programa             : Liquidacion de Planillas   --*/  
/*---Script               : SP_TDPLAN_LIQU_U01.sql     --*/  
/*---Nombre SP            : SP_TDPLAN_LIQU_U01         --*/  
/*---Desarrollado por     : Eduardo Vivar Pomiano      --*/  
/*---Fecha Creacion       : 12/12/2000                 --*/  
/*---Base Datos           : ORACLE         --*/  
/*---Version              : 8                          --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*--- Modificado 1 por     : Denis Villacres P.        --*/  
/*--- Fecha Modificacion   : 03/01/2001         --*/   
/*--- Detalle Modificacion : Migracion SQL 7.00        --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Modificado 2 por     : Maribel Julca Rodriguez    --*/  
/*---Fecha Modificaci©n   : 21/04/2005                 --*/   
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA, CO_USUA_MODI  --*/  
/*-------------------------------------------------------*/  

  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*--- Drop Proc SP_TDPLAN_LIQU_U01                     --*/  
/*--- Grant All On SP_TDPLAN_LIQU_U01 To Public        --*/   
/*--- SP_TDPLAN_LIQU_U01 'SA', 'SOL', 'DOL'        --*/  
/*-------------------------------------------------------*/  
@ISCO_EMPR         TD_VC_002,  
@ISCO_USUA       TD_VC_008_USUA,  
@ISCO_MONE_DEFA    TD_VC_003,  
@ISCO_MONE_EXTR    TD_VC_003
	As
Begin Tran SP_TDPLAN_LIQU_U01  
  
Declare  
  
@VSTI_CORR_INEG  TD_VC_001,  
@VNNU_COMP_MOVI  TD_IN_001,  
@VNIM_MOVI_AUXI  TD_NU_016_004,  
@VNIM_SALD_CONV  TD_NU_016_004,  
@VNIM_INGR   TD_NU_016_004,  
@VSST_SIGN   TD_VC_001,  
@VSAA_MOVI   TD_VC_004,  
@VSMM_MOVI   TD_VC_002,  
@VSNU_COMP_MOVI  TD_VC_008,  
@VSDE_NOMB_ORDE  TD_VC_100,  
@OSTI_DOCU   TD_VC_003,  
@CSNU_PLAN   TD_VC_010,  
@CSCO_LIQU   TD_VC_008,  
@CDFE_PLAN   TD_DT_001,  
@CSCO_BANC   TD_VC_003,  
@CSNU_CNTA_BANC  TD_VC_020,  
@CSCO_CAJA   TD_VC_008,  
@CSCO_MONE_DEST  TD_VC_003,  
@CNNU_SECU_MOVI  TD_IN_001,  
@CDFE_OPER   TD_DT_001,  
@CNFA_TIPO_CAMB  TD_NU_015_006,  
@CSCO_TIPO_DOCU  TD_VC_003,  
@CSNU_DOCU_CLIE  TD_VC_020,  
@CDFE_EMIS   TD_DT_001,  
@CDFE_VENC   TD_DT_001,  
@CSCO_MONE   TD_VC_003,  
@CSCO_MONE_COBR  TD_VC_003,  
@CNIM_TOTA   TD_NU_016_004,  
@CNIM_PAGA   TD_NU_016_004,  
@CNIM_SALD   TD_NU_016_004,  
@CNIM_LIQU   TD_NU_016_004,  
@CSCO_CLIE   TD_VC_020,  
@CSCO_TIDO_BANC  TD_VC_003,  
@CSNU_DOCU_BANC  TD_VC_020,  
@CSNU_CHEQ   TD_VC_020,  
@CSCO_TIPO_OPER  TD_VC_003,  
@CSCO_UNID_CNTB  TD_VC_003,  
@CSNU_RECI_COBR  TD_VC_010,  
@CSTI_ENTI   TD_VC_001,  
@CSCO_ENTI   TD_VC_020,  
@CSST_CIER_DOCU  TD_VC_001,  
@CNNU_SECU   TD_IN_001,  
@CSCO_BANC_CHEQ  TD_VC_003,  
@CDFE_RECI_COBR  TD_DT_001,  
@CDFE_DISP   TD_DT_001,  
@CSCO_SUBR  TD_VC_003,  
@VSST_ASTO_RESU  TD_VC_001,  
@VSVA_QUIE  VARCHAR(200)  
  
Select @VSVA_QUIE = ''  
  
Declare CU_TDPLAN_LIQU_U01_1 Cursor  
For  
 Select  T1.NU_PLAN, T1.CO_LIQU, T1.FE_PLAN,  
  T2.CO_BANC, T2.NU_CNTA_BANC, T2.CO_CAJA,   
  T4.CO_MONE,  
  T2.NU_SECU_MOVI,  
  T2.FE_OPER, T2.FA_TIPO_CAMB,  
  T2.CO_TIPO_DOCU, T2.NU_DOCU_CLIE, T2.FE_EMIS, T2.FE_VENC, T2.CO_MONE,   
  T2.IM_TOTA, T2.IM_PAGA, T2.IM_SALD, T2.IM_LIQU,  
  T2.CO_CLIE,   
  T2.CO_TIDO_BANC, T2.NU_DOCU_BANC, T2.NU_CHEQ,  
  T2.CO_TIPO_OPER, T2.CO_UNID_CNTB,   
  T2.IM_LIQU,   
  T2.NU_RECI_COBR,  
  T2.TI_ENTI, T2.CO_ENTI, T2.ST_CIER_DOCU, T2.NU_SECU, T2.CO_MONE_COBR,  
  T2.CO_BANC_CHEQ, T2.FE_RECI_COBR, T2.FE_DISP, T2.CO_SUBR  
 From  TCPLAN_LIQU T1, TDPLAN_LIQU T2, #TWPLAN_LIQU_PROC T3, TMCNTA_BANC T4  
 Where  T1.CO_EMPR = @ISCO_EMPR  
  AND T1.CO_ESTA_PLAN = 'ACT'  
  And T1.NU_PLAN = T3.NU_PLAN  
  And T1.CO_EMPR = T2.CO_EMPR   
  And T1.NU_PLAN = T2.NU_PLAN   
  And T2.CO_EMPR = T4.CO_EMPR  
  And T2.CO_BANC = T4.CO_BANC  
  And T2.NU_CNTA_BANC = T4.NU_CNTA_BANC  
 UNION ALL  
 Select  T1.NU_PLAN, T1.CO_LIQU, T1.FE_PLAN,  
  T2.CO_BANC, T2.NU_CNTA_BANC, T2.CO_CAJA,   
  T4.CO_MONE,  
  T2.NU_SECU_MOVI,  
  T2.FE_OPER, T2.FA_TIPO_CAMB,  
  T2.CO_TIPO_DOCU, T2.NU_DOCU_CLIE, T2.FE_EMIS, T2.FE_VENC, T2.CO_MONE,   
  T2.IM_TOTA, T2.IM_PAGA, T2.IM_SALD, T2.IM_LIQU,  
  T2.CO_CLIE,   
  T2.CO_TIDO_BANC, T2.NU_DOCU_BANC, T2.NU_CHEQ,  
  T2.CO_TIPO_OPER, T2.CO_UNID_CNTB,   
  T2.IM_LIQU,   
  T2.NU_RECI_COBR,  
  T2.TI_ENTI, T2.CO_ENTI, T2.ST_CIER_DOCU, T2.NU_SECU, T2.CO_MONE_COBR,  
  T2.CO_BANC_CHEQ, T2.FE_RECI_COBR, T2.FE_DISP, T2.CO_SUBR  
 From  TCPLAN_LIQU T1, TDPLAN_LIQU T2, #TWPLAN_LIQU_PROC T3, TMCAJA T4  
 Where  T1.CO_EMPR = @ISCO_EMPR  
  AND T1.CO_ESTA_PLAN = 'ACT'  
  And T1.NU_PLAN = T3.NU_PLAN  
  And T1.CO_EMPR = T2.CO_EMPR   
  And T1.NU_PLAN = T2.NU_PLAN   
  And T2.CO_EMPR = T4.CO_EMPR  
  And T2.CO_CAJA = T4.CO_CAJA  
 Order By 1, 4, 5, 6, 21, 22, 23, 8, 11, 12  
  
Begin  
  
Exec SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU  
  
     If @@error <> 0  
           Begin  
             Rollback tran  
       Return  
           End  
  
Open  CU_TDPLAN_LIQU_U01_1  
Fetch  CU_TDPLAN_LIQU_U01_1 Into   
 @CSNU_PLAN, @CSCO_LIQU, @CDFE_PLAN,  
 @CSCO_BANC, @CSNU_CNTA_BANC, @CSCO_CAJA,   
 @CSCO_MONE_DEST,  
 @CNNU_SECU_MOVI,  
 @CDFE_OPER, @CNFA_TIPO_CAMB,  
 @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CDFE_EMIS, @CDFE_VENC, @CSCO_MONE,   
 @CNIM_TOTA, @CNIM_PAGA, @CNIM_SALD, @CNIM_LIQU,   
 @CSCO_CLIE,   
 @CSCO_TIDO_BANC, @CSNU_DOCU_BANC, @CSNU_CHEQ,  
 @CSCO_TIPO_OPER, @CSCO_UNID_CNTB,   
 @CNIM_LIQU,   
 @CSNU_RECI_COBR,  
 @CSTI_ENTI, @CSCO_ENTI, @CSST_CIER_DOCU, @CNNU_SECU, @CSCO_MONE_COBR,  
 @CSCO_BANC_CHEQ, @CDFE_RECI_COBR, @CDFE_DISP, @CSCO_SUBR  
  
While (@@FETCH_STATUS = 0)  
 BEGIN --LOOP  
     If (@@FETCH_STATUS < 0)  
        Begin  
     CLOSE CU_TDPLAN_LIQU_U01_1  
     DEALLOCATE CU_TDPLAN_LIQU_U01_1  
     RETURN  
        End  
  
 Select @VSMM_MOVI = CONVERT(VARCHAR(2),MONTH(@CDFE_OPER))  
 Select @VSAA_MOVI = CONVERT(VARCHAR(4),YEAR(@CDFE_OPER))  
  
 IF @VSVA_QUIE != RTRIM(@CSNU_PLAN) + RTRIM(ISNULL(@CSCO_BANC, '')) + RTRIM(ISNULL(@CSNU_CNTA_BANC, '')) +   
  RTRIM(ISNULL(@CSCO_CAJA, '')) + @VSAA_MOVI + @VSMM_MOVI + RTRIM(ISNULL(@CSCO_TIDO_BANC, '')) +  
  RTRIM(ISNULL(@CSNU_DOCU_BANC, '')) + RTRIM(ISNULL(@CSNU_CHEQ, ''))  
 -- NUEVO DEPOSITO CAJA/BANCOS, INSERTAR CABECERA, LLAMAR AL SP  
 -- CALCULAR NUEVO NU_COMP_BACA  
 -- SETEAR NUEVAS VARIABLES DE TRABAJO PARA COMPARAR  
    BEGIN  
  
  SELECT @VSVA_QUIE = RTRIM(@CSNU_PLAN) + RTRIM(ISNULL(@CSCO_BANC, '')) + RTRIM(ISNULL(@CSNU_CNTA_BANC, '')) +   
   RTRIM(ISNULL(@CSCO_CAJA, '')) + @VSAA_MOVI + @VSMM_MOVI + RTRIM(ISNULL(@CSCO_TIDO_BANC, '')) +  
   RTRIM(ISNULL(@CSNU_DOCU_BANC, '')) + RTRIM(ISNULL(@CSNU_CHEQ, ''))  
  
  IF Datalength(Ltrim(Rtrim(@VSMM_MOVI))) = 1  
  Select @VSMM_MOVI = '0' + Ltrim(Rtrim(@VSMM_MOVI))  
  
  IF Rtrim(IsNull(@CSCO_BANC, '')) != ''  
    BEGIN  
       Select @VNNU_COMP_MOVI = Isnull(Max (Convert(Numeric,NU_COMP_BANC)),0)  
        From TCMOVI_BANC   
       Where CO_EMPR = @ISCO_EMPR   
    And CO_BANC = @CSCO_BANC   
    And NU_CNTA_BANC = @CSNU_CNTA_BANC   
    And AA_BNCO = @VSAA_MOVI  
    And MM_BNCO = @VSMM_MOVI   
    And TI_MOVI_BANC = 'I'  
  
       Select  @VSTI_CORR_INEG = TI_CORR_INEG  
       From TMCNTA_BANC  
       Where CO_EMPR = @ISCO_EMPR  
   And Rtrim(CO_BANC) = Rtrim(@CSCO_BANC)  
   And Rtrim(NU_CNTA_BANC) = Rtrim(@CSNU_CNTA_BANC)  
    END  
  
  IF Rtrim(IsNull(@CSCO_CAJA, '')) != ''  
    BEGIN  
       Select @VNNU_COMP_MOVI = IsNull(Max(Convert(Numeric,NU_COMP_CAJA)),0)  
        From TCMOVI_CAJA   
        Where CO_EMPR = @ISCO_EMPR   
   And CO_CAJA = @CSCO_CAJA   
    And AA_CAJA = @VSAA_MOVI  
    And MM_CAJA = @VSMM_MOVI   
    And TI_MOVI = 'I'  
  
        Select @VSTI_CORR_INEG = TI_CORR_INEG  
      From TMCAJA   
        Where CO_EMPR = @ISCO_EMPR  
   And RTRIM(CO_CAJA) = RTRIM(@CSCO_CAJA)  
  
     END  
  
  Select @VNNU_COMP_MOVI = @VNNU_COMP_MOVI + 1  
  Select @VSNU_COMP_MOVI = Replicate('0',8-LEN(Convert(Varchar,@VNNU_COMP_MOVI))) + Convert(Varchar,@VNNU_COMP_MOVI)  
   
  
   Select  @VSDE_NOMB_ORDE = NO_AUXI  
   From  TMAUXI_EMPR   
   Where  CO_EMPR = @ISCO_EMPR   
    And TI_AUXI_EMPR = @CSTI_ENTI  
    And CO_AUXI_EMPR = @CSCO_ENTI  
  
  
  Select @VSST_ASTO_RESU = T1.ST_ASTO_RESU  
  From TMOPRC_RESU T1, TDTIPO_OPER T2  
  Where T1.CO_EMPR = T2.CO_EMPR  
  And T2.CO_TIPO_OPER = @CSCO_TIPO_OPER  
  And T1.CO_OPRC_CNTB = T2.CO_OPRC_CNTB  
  
  IF Rtrim(IsNull(@CSCO_BANC, '')) != ''  
  -- INSERTA CABECERA BANCOS  
    BEGIN  
      Exec SP_TCMOVI_BANC_I04 @ISCO_EMPR, @ISCO_USUA,   
   @CSCO_BANC, @CSNU_CNTA_BANC, @VSAA_MOVI, @VSMM_MOVI, 'I',   
   @CDFE_OPER, @CSCO_TIPO_OPER, @CSCO_SUBR, @CSCO_TIDO_BANC, @CSNU_DOCU_BANC,   
   @CNFA_TIPO_CAMB, @CSCO_BANC_CHEQ, @CSNU_CHEQ, 0, @CSTI_ENTI, @CSCO_ENTI,   
   @VSDE_NOMB_ORDE, 'S' , @CSNU_PLAN, @VSTI_CORR_INEG, 0,  
   0, @CDFE_OPER, NULL, @CSCO_UNID_CNTB, @CSNU_RECI_COBR, @CDFE_RECI_COBR,   
   NULL, NULL, NULL, @VSST_ASTO_RESU, @VSNU_COMP_MOVI OUTPUT   
  
       If @@error <> 0  
               Begin  
   Rollback tran  
   Close CU_TDPLAN_LIQU_U01_1  
   DEALLOCATE CU_TDPLAN_LIQU_U01_1  
         Return  
               End  
    END -- FIN INSERTA CABECERA BANCOS  
  
   
  IF Rtrim(IsNull(@CSCO_CAJA, '')) != ''  
  -- INSERTA CABECERA CAJA  
    BEGIN  
      Exec SP_TCMOVI_CAJA_I06  @ISCO_EMPR, @ISCO_USUA,  
   @CSCO_CAJA, @VSAA_MOVI, @VSMM_MOVI,  'I',   
   @CDFE_OPER, @CSCO_TIPO_OPER, @CSCO_SUBR, @CNFA_TIPO_CAMB, 0, @CSTI_ENTI,   
   @CSCO_ENTI,@VSDE_NOMB_ORDE, @CSNU_PLAN, @VSTI_CORR_INEG,  
   0, 0, NULL, @CSCO_UNID_CNTB, NULL, NULL, @VSST_ASTO_RESU, @VSNU_COMP_MOVI OUTPUT  
  
      If @@error <> 0  
               Begin  
               Rollback tran  
   Close CU_TDPLAN_LIQU_U01_1  
   DEALLOCATE CU_TDPLAN_LIQU_U01_1  
         Return  
               End -- FIN INSERTA CABECERA CAJA  
  
  
      UPDATE TCMOVI_CAJA   
      SET CO_TIPO_DOCU = @CSCO_TIDO_BANC,  
   NU_DOCU = @CSNU_DOCU_BANC,  
   CO_BANC_CHEQ = @CSCO_BANC_CHEQ,  
   FE_DISP = @CDFE_DISP,  
   NU_RECI_COBR = @CSNU_RECI_COBR,  
   FE_RECI_COBR = @CDFE_RECI_COBR,
   CO_USUA_MODI = @ISCO_USUA,   
   FE_USUA_MODI = GETDATE()   
      WHERE CO_EMPR = @ISCO_EMPR  
   And CO_CAJA = @CSCO_CAJA  
   And AA_CAJA = @VSAA_MOVI  
   And MM_CAJA = @VSMM_MOVI  
   And NU_COMP_CAJA = @VSNU_COMP_MOVI  
   And TI_MOVI = 'I'    
  
      If @@error <> 0  
               Begin  
               Rollback tran  
   Close CU_TDPLAN_LIQU_U01_1  
   DEALLOCATE CU_TDPLAN_LIQU_U01_1  
         Return  
               End -- FIN INSERTA CABECERA CAJA  
  
  END  
  
  
 END  -- FIN BEGIN NUEVO COMPROBANTE  
        -- FIN NUEVO COMPROBANTE  
      -- INSERTAR DETALLE CON EL COMPROBANTE ACTUAL  
      -- LLAMAR AL SP  
      -- ACTUALIZAR TDPLAN_LIQU  
  
  Select VNIM_MOVI_AUXI = 0  
  Select VNIM_SALD_CONV = 0  
  Select VSST_SIGN = 'S'  
   
  Select @VSST_SIGN = ST_SIGN   
  From  TTDOCU_CNTB  
  Where  TI_DOCU = @CSCO_TIPO_DOCU  
  
 IF @CSCO_TIPO_DOCU = 'LET'  
  Select  @CNIM_PAGA = IM_PAGA  
  From  TMLETR_CLIE  
  Where  CO_EMPR = @ISCO_EMPR  
   And NU_LETR_CLIE = @CSNU_DOCU_CLIE  
   
 IF @CSCO_TIPO_DOCU != 'LET'  
  Select  @CNIM_PAGA = IM_PAGA  
  From  TMDOCU_CLIE  
  Where  CO_EMPR = @ISCO_EMPR  
   And CO_TIPO_DOCU = @CSCO_TIPO_DOCU  
   And NU_DOCU_CLIE = @CSNU_DOCU_CLIE  
   
   
  
 IF @CSCO_MONE_DEST = @ISCO_MONE_EXTR   
 BEGIN  
  Select  @VNIM_MOVI_AUXI = (Patindex('S', @VSST_SIGN)*   
      (Patindex( @CSCO_MONE_COBR, @CSCO_MONE_DEST)* (@CNIM_LIQU )  
       +Patindex( '0', Convert(Varchar,Patindex(@CSCO_MONE_COBR, @CSCO_MONE_DEST)))*  
          (@CNIM_LIQU) / @CNFA_TIPO_CAMB) ) +  
   (Patindex('N', @VSST_SIGN)*  
      ((Patindex( @CSCO_MONE_COBR, @CSCO_MONE_DEST )*(@CNIM_LIQU )  
       +Patindex('0', Convert(Varchar,Patindex(@CSCO_MONE_COBR, @CSCO_MONE_DEST)))*  
          (@CNIM_LIQU) / @CNFA_TIPO_CAMB )* -1 ) )  
  
  Select  @VNIM_SALD_CONV = Patindex(@CSCO_MONE, @CSCO_MONE_DEST)*   
   (@CNIM_TOTA - @CNIM_PAGA ) +   
   Patindex( '0', Convert(Varchar,Patindex(@CSCO_MONE, @CSCO_MONE_DEST)))*  
          (@CNIM_TOTA - @CNIM_PAGA) / @CNFA_TIPO_CAMB  
  
  Select  @VNIM_INGR = Patindex( @CSCO_MONE_COBR, @CSCO_MONE_DEST)*(@CNIM_LIQU )+  
   Patindex( '0', Convert(Varchar, Patindex(@CSCO_MONE_COBR, @CSCO_MONE_DEST)))*  
          (@CNIM_LIQU) / @CNFA_TIPO_CAMB  
  
 END  
  
  
 IF @CSCO_MONE_DEST = @ISCO_MONE_DEFA   
 BEGIN  
  Select  @VNIM_MOVI_AUXI = ( Patindex('S', @VSST_SIGN)*   
   (Patindex( @CSCO_MONE_COBR, @CSCO_MONE_DEST)* ( @CNIM_LIQU )+  
   Patindex( '0', Convert(Varchar,Patindex(@CSCO_MONE_COBR, @CSCO_MONE_DEST)))*  
          (@CNIM_LIQU )*@CNFA_TIPO_CAMB)) +  
   (Patindex('N', @VSST_SIGN)*  
      ((Patindex( @CSCO_MONE_COBR, @CSCO_MONE_DEST )*( @CNIM_LIQU )+  
   Patindex('0', Convert(Varchar,Patindex(@CSCO_MONE_COBR, @CSCO_MONE_DEST)))*  
          ( @CNIM_LIQU )* @CNFA_TIPO_CAMB )* -1 ) )  
  
  Select  @VNIM_SALD_CONV = Patindex(@CSCO_MONE, @CSCO_MONE_DEST)*  
   (@CNIM_TOTA - @CNIM_PAGA )+  
   Patindex( '0', Convert(Varchar,Patindex(@CSCO_MONE, @CSCO_MONE_DEST)))*  
   (@CNIM_TOTA - @CNIM_PAGA) * @CNFA_TIPO_CAMB  
  
  Select  @VNIM_INGR = Patindex(@CSCO_MONE_COBR, @CSCO_MONE_DEST)*(@CNIM_LIQU )+  
   Patindex( '0', Convert(Varchar,Patindex(@CSCO_MONE_COBR, @CSCO_MONE_DEST)))*  
  (@CNIM_LIQU ) * @CNFA_TIPO_CAMB  
 END  
  
   
 IF Rtrim(IsNull(@CSCO_BANC, '')) != ''  
 BEGIN --INSERTA DETALLE BANCOS  
  
  IF Datalength(Ltrim(Rtrim(@VSMM_MOVI))) = 1  
  Select @VSMM_MOVI = '0' + Ltrim(Rtrim(@VSMM_MOVI))  
  
   
      Exec SP_TDMOVI_BANC_I03  @ISCO_EMPR, @ISCO_USUA, @CSCO_BANC,   
     @CSNU_CNTA_BANC, @VSAA_MOVI, @VSMM_MOVI, 'I', @VSNU_COMP_MOVI,   
     NULL, 'C', @CSCO_CLIE, @CSCO_TIPO_DOCU,  @CSNU_DOCU_CLIE,     
   @CSCO_MONE, @CDFE_EMIS, @CDFE_EMIS, @CNIM_TOTA, @CNIM_SALD, @VNIM_INGR, NULL,   
   @CSST_CIER_DOCU, @VNIM_MOVI_AUXI, 'LET', @CNFA_TIPO_CAMB,   
   @CSCO_MONE_DEST, @VNIM_SALD_CONV, @CSNU_RECI_COBR, @CDFE_RECI_COBR,  
   @CSCO_LIQU, NULL, NULL, NULL, @CSCO_UNID_CNTB
  
      If @@error <> 0  
            Begin  
               Rollback tran  
   Close CU_TDPLAN_LIQU_U01_1  
   DEALLOCATE CU_TDPLAN_LIQU_U01_1  
         Return  
            End  
  
 END  
  
  
 IF Rtrim(IsNull(@CSCO_CAJA, '')) != ''  
 BEGIN -- INSERTA DETALLE CAJA  
  
  IF Datalength(Ltrim(Rtrim(@VSMM_MOVI))) = 1  
  Select @VSMM_MOVI = '0' + Ltrim(Rtrim(@VSMM_MOVI))  
  
  Exec SP_TDMOVI_CAJA_I03 @ISCO_EMPR, @ISCO_USUA, @CSCO_CAJA,  
   @VSAA_MOVI, @VSMM_MOVI,  'I', @VSNU_COMP_MOVI, NULL,    
   'C', @CSCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE,   
   @CSCO_MONE, @CDFE_EMIS,  @CNIM_TOTA, @CNIM_SALD,   
   @VNIM_INGR, 0,  '', @CSST_CIER_DOCU, @VNIM_MOVI_AUXI,   
   'LET', @CNFA_TIPO_CAMB, @CSCO_MONE_DEST, @VNIM_SALD_CONV,  
   @CSNU_RECI_COBR, @CDFE_RECI_COBR, @CSCO_LIQU, NULL, NULL, NULL  
          
      If @@error <> 0  
            Begin  
              Rollback tran  
   Close CU_TDPLAN_LIQU_U01_1  
   DEALLOCATE CU_TDPLAN_LIQU_U01_1  
        Return  
            End  
  
  
 END-- FIN INSERTA DETALLE CAJA  
  
  
 -- ACTUALIZA TDPLAN_LIQU  
 UPDATE  TDPLAN_LIQU  
 SET  AA_MOVI = @VSAA_MOVI,  
  MM_MOVI = @VSMM_MOVI,  
  NU_COMP_MOVI = @VSNU_COMP_MOVI,  
  CO_USUA_MODI = @ISCO_USUA,  
  FE_USUA_MODI = Getdate()  
 WHERE  CO_EMPR = @ISCO_EMPR  
  AND NU_PLAN = @CSNU_PLAN  
  AND NU_SECU = @CNNU_SECU  
  AND NU_SECU_MOVI = @CNNU_SECU_MOVI  
  
  If @@error != 0  
     Begin  
       rollback tran  
       Close CU_TDPLAN_LIQU_U01_1  
       DEALLOCATE CU_TDPLAN_LIQU_U01_1  
  --     RAISERROR 20001 "ERROR AL ACTUALIZAR"  
     RETURN  
     End  
  
 Fetch  CU_TDPLAN_LIQU_U01_1 Into   
  @CSNU_PLAN, @CSCO_LIQU, @CDFE_PLAN,  
  @CSCO_BANC, @CSNU_CNTA_BANC, @CSCO_CAJA,   
  @CSCO_MONE_DEST,  
  @CNNU_SECU_MOVI,  
  @CDFE_OPER, @CNFA_TIPO_CAMB,  
  @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CDFE_EMIS, @CDFE_VENC, @CSCO_MONE,   
  @CNIM_TOTA, @CNIM_PAGA, @CNIM_SALD, @CNIM_LIQU,   
  @CSCO_CLIE,   
  @CSCO_TIDO_BANC, @CSNU_DOCU_BANC, @CSNU_CHEQ,  
  @CSCO_TIPO_OPER, @CSCO_UNID_CNTB,   
  @CNIM_LIQU,   
  @CSNU_RECI_COBR,  
  @CSTI_ENTI, @CSCO_ENTI, @CSST_CIER_DOCU, @CNNU_SECU, @CSCO_MONE_COBR,  
  @CSCO_BANC_CHEQ, @CDFE_RECI_COBR, @CDFE_DISP, @CSCO_SUBR  
  
 END   
  
Close CU_TDPLAN_LIQU_U01_1  
DEALLOCATE CU_TDPLAN_LIQU_U01_1   
  UPDATE  TCPLAN_LIQU  
 SET  CO_ESTA_PLAN = 'LIQ',  
  CO_USUA_MODI = @ISCO_USUA,  
  FE_USUA_MODI = Getdate()  
 WHERE  EXISTS ( SELECT *   
    FROM   #TWPLAN_LIQU_PROC  
           WHERE  TCPLAN_LIQU.CO_EMPR = @ISCO_EMPR  
    AND TCPLAN_LIQU.NU_PLAN = #TWPLAN_LIQU_PROC.NU_PLAN)  
  
COMMIT TRAN  
  
End  
  
/*------------------------ Fin ------------------------------*/
GO
